In electronic circuits system, such as those constructed on electronic circuit boards, system components receive data that is transmitted and received on data lines connecting the various system components. After receiving data, system components can operate on or process the data. To coordinate the operation of each system component, one or more system clocks of the circuit system can send periodic clock signals to the system components. By coordinating each system component to a system clock, the operation of the system can be synchronized to prevent errors that may otherwise result from data that is transmitted, received or processed at an incorrect time.
Despite these efforts to coordinate circuit systems, data path delays in some data lines cause data sent through those data lines to become unsynchronized. Such data path delays have various causes, such as circuit board data path variations, material imperfections, capacitive coupling, temperature variations, voltage variations and process variations. When system components include multiple inputs, data path delays can result in signal skew, wherein input data arriving on different input lines is offset. Data skew is particularly problematic in circuit systems having high clock rates. For example, some modern circuit systems have a system clocks that may operates at about 2 to 4 gigahertz per second. At these clock rates, data path delays can result in data arriving at a destination component too late to be read in at the intended clock times. Some data may arrive too late when it fails to meet setup and hold requirements of the system component, resulting in a setup or hold violation. Setup violations occur when new data is not set up and stable before the next clock tick arrives. Hold violations occur when data is not held long enough at a destination to be properly clocked through. When a setup or hold violation occurs, new data may not be processed at the intended clock tick. Such violations means that data is not processed at the intended time, which can ultimately affects the accuracy and operation of the circuit system.